Инкремент

Пример реализации двух разных операторов инкремента:

// Перегрузка префиксного оператора ++
public static MyInt operator ++(MyInt a) 
{
		a.value++; // Увеличиваем значение
		return a; // Возвращаем измененный объект
} // Перегрузка постфиксного оператора++ 

public static MyInt operator ++(MyInt a, int unused) 
{
	MyInt temp = new MyInt(a.value); // Создаем копию текущего объекта
	a.value++; // Увеличиваем значение return temp; // Возвращаем копию старого объекта
}

То есть, в случае префиксного, происходит имплементация, и возврат себя же
В случае постфиксного происходит копирование, имплементация, а возврат копии.